package com.jlastu.dlxy_androidapp.view.order;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.AsyncTask;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

import com.jlastu.dlxy_androidapp.R;
import com.jlastu.dlxy_androidapp.entity.Order;

public class OrderConfirmationActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 假设你从上一个活动或数据源获取订单信息
        Order order = getIntent().getParcelableExtra("order");

        // 展示订单详情
        displayOrderDetails(order);

        // 创建一个对话框以确认订单
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Confirm Order")
                .setMessage("您确定要确认此次订单吗?")
                .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // 用户点击了确认按钮，执行确认订单逻辑
                        try {
                            confirmOrder(order);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                    }
                })
                .setNegativeButton("No", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // 用户取消了确认，关闭对话框
                        dialog.cancel();
                    }
                })
                .show();
    }

    private void displayOrderDetails(Order order) {
        // 在界面上展示订单详情
        // 这里可以使用TextView或其他UI元素显示订单的信息
    }

    private void confirmOrder(Order order) throws InterruptedException {
        // 调用API或服务确认订单
        // 可能涉及到网络请求，因此应该在一个异步任务中执行
        new ConfirmOrderTask(order).wait();
    }

    // 异步任务类，用于后台确认订单
    private class ConfirmOrderTask extends AsyncTask<Void, Void, Boolean> {
        private Order order;

        public ConfirmOrderTask(Order order) {
            this.order = order;
        }

        @Override
        protected Boolean doInBackground(Void... params) {
            // 确认订单的业务逻辑
            // 与服务器的交互
            return confirmOrderOnServer(order);
        }

        @Override
        protected void onPostExecute(Boolean success) {
            if (success) {
                // 订单确认成功后的处理
                showSuccessMessage();
            } else {
                // 订单确认失败后的处理
                showError();
            }
        }

        private boolean confirmOrderOnServer(Order order) {
            // 模拟服务器端确认订单
            return true; // 返回是否成功确认订单
        }
    }

    private void showSuccessMessage() {
        // 显示订单确认成功的消息
    }

    private void showError() {
        // 显示错误消息
    }
}

